﻿@model Tecnosop.WebUI.Models.ModificacionDetalleFacturaConvenioViewModel
@{
    ViewBag.Title = "Detalle factura de convenio";
}
@section css {
    <style type="text/css">
        .editor-mediciones 
        {
            margin: 1em 0 0 0;
        }

        .editor-mediciones input
        {
            width: 150px;
        }

        .label-mediciones
        {
            clear: both;
            float: left;
            width: 150px;
            margin: 1em 0 0 0;
        }

        .label-mediciones
        {
            margin: 1em 0 0 0;
        }
        .data-header, .data-row
        {
            width: 100%;
            margin: 0;
            padding: 0;
        }
        .data-header td, .data-row td
        {
            width: 20%;
            border: 0;
            padding-top: 0px;
            padding-bottom: 0px;
            vertical-align: middle;
            text-align: center;
        }
    </style>
}
<fieldset>
    <legend>Agregar una línea de detalle a la factura de convenio</legend>
    <br />

    <fieldset>
        <legend>Datos factura</legend>
        <br />

        <table border="1" cellpadding="2" cellspacing="1" style="width: 100%; border-style: solid; border-width: 1px;">
            <tr>
                <td style="width: 20%" class="fondo-celeste">@Html.LabelFor(model => model.NUMERO_FACTURA)</td>
                <td style="width: 35%">@Html.DisplayFor(model => model.NUMERO_FACTURA)</td>
                <td style="width: 20%" class="fondo-celeste">@Html.LabelFor(model => model.RAZON_SOCIAL)</td>
                <td style="width: 25%">@Html.DisplayFor(model => model.RAZON_SOCIAL)</td>
            </tr>
            <tr>
                <td style="width: 20%" class="fondo-celeste">@Html.LabelFor(model => model.NUMERO_CONVENIO)</td>
                <td style="width: 35%">@Html.ActionLink(Model.NUMERO_CONVENIO.ToString(), MVC.Convenio.Details(Model.NUMERO_CONVENIO))</td>
                <td style="width: 20%" class="fondo-celeste">@Html.LabelFor(model => model.Factura.CONVENIO.CLIENTE.NOMBRE) <strong>cliente</strong></td>
                <td style="width: 25%">@Html.DisplayFor(model => model.Factura.CONVENIO.CLIENTE.NOMBRE)</td>
            </tr>
        </table>
    </fieldset>

    <fieldset>
        <legend>Agregar una medición al detalle</legend>
        <br />

        <div>
            <div style="width: 45%; float: left; margin-right: 20px;">
                @using (Html.BeginForm())
                {
                    @(Html.Telerik().Grid(Model.MedicionesNoFacturadas)
                        .Name("MedicionesNoFacturadas")
                        .Columns(columns =>
                        {
                            //columns.Template(m => Html.ActionLink(m.ID_MEDICION.ToString(), MVC.Medicion.Details(m.ID_MEDICION)))
                            //    .Title("ID Medición");
                            columns.Template(m => m.MEDICION__BN ? "<img alt=\"tipo\" src=\"" + @Links.Content.icons.black_png + "\"/>" : "<img alt=\"tipo\" src=\"" + @Links.Content.icons.blue_png + "\"/>")
                                .Title("Tipo")
                                .Width(30);
                            columns.Template(m => Html.ActionLink(m.NUMERO_EQUIPO_EN_CONVENIO.ToString(), MVC.Convenio.DetailsEquipoEnConvenio(m.NUMERO_CONVENIO, m.NUMERO_EQUIPO_EN_CONVENIO)))
                                .Title("N° equipo en convenio");
                            columns.Bound(m => m.EQUIPO_EN_CONVENIO.CONSIGNACION_EQUIPO.CONSIGNACION);
                            columns.Bound(m => m.CONTADOR_ACTUAL_);

                            columns.Command(cmd => cmd.Custom("AgregarDetalle")
                                .ButtonType(GridButtonType.Image)
                                .ImageHtmlAttributes(new { @class = "t-icon t-arrow-next" })
                                .DataRouteValues(keys => keys.Add(k => k.ID_MEDICION).RouteKey("ID_MEDICION"))
                                .Action(MVC.FacturaConvenio.ActionNames.DetalleFactura, MVC.FacturaConvenio.Name))
                                .Width(25);
                        })
                        .PrefixUrlParameters(false)
                        .RowAction(row => row.Selected = row.DataItem.ID_MEDICION.Equals(ViewBag.IDMedicion))
                        .Pageable(pager => pager.PageSize(5))
                    )
                }
            </div>

            <fieldset>
                <legend>Datos medición</legend>

                <div>
                    @if (Model.DetalleMedicion.ID_MEDICION != -1)
                    {
                        using (Html.BeginForm(MVC.FacturaConvenio.AgregarMedicionDetalleFactura()))
                        {
                            @Html.EditorFor(m => m.DetalleMedicion.NUMERO_FACTURA)
                            @Html.EditorFor(m => m.DetalleMedicion.RAZON_SOCIAL)
                            @Html.HiddenFor(m => m.DetalleMedicion.MEDICION_BN)
                            <table border="1" cellpadding="1" cellspacing="0" width="100%">
                                <tr>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.ID_MEDICION)</td>
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.ID_MEDICION)</td>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.FECHA_MEDICION)</td>
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.FECHA_MEDICION)</td>
                                </tr>

                                <tr>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.CANTIDAD_FACTURADA)</td> 
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.CANTIDAD_FACTURADA)</td>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.CONTADOR_ANTERIOR)</td>
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.CONTADOR_ANTERIOR)</td>
                                </tr>

                                <tr>
                                    
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.CANTIDAD_NO_FACTURADA)</td>
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.CANTIDAD_NO_FACTURADA)</td>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.DIFERENCIA)</td>
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.DIFERENCIA)</td>
                                </tr>

                                <tr>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.PRECIO_POR_HOJA)</td>
                                    <td style="width: 30%">@(Model.DetalleMedicion.PRECIO_POR_HOJA != -1 ? Model.DetalleMedicion.PRECIO_POR_HOJA.ToString("$ #,##") : "Sin precio!")</td>
                                    <td class="fondo-celeste">@Html.LabelFor(m => m.DetalleMedicion.MINIMO_GARANTIZADO)</td>
                                    <td style="width: 30%">@Html.EditorFor(m => m.DetalleMedicion.MINIMO_GARANTIZADO)</td>
                                </tr>
                            </table>
                        
                            <div class="label-mediciones">@Html.LabelFor(m => m.DetalleMedicion.MEDICION_FACTURADA)</div>
                            <div class="editor-mediciones">@Html.EditorFor(m => m.DetalleMedicion.MEDICION_FACTURADA)</div>
                        
                            <div class="label-mediciones">@Html.LabelFor(m => m.DetalleMedicion.CANTIDAD_A_FACTURAR)</div>
                            <div class="editor-mediciones">
                                @(Html.Telerik().IntegerTextBoxFor(m => m.DetalleMedicion.CANTIDAD_A_FACTURAR)
                                    .MaxValue(Model.DetalleMedicion.CANTIDAD_NO_FACTURADA)
                                    .MinValue(/*Model.DetalleMedicion.CANTIDAD_FACTURADA*/0)
                                    .EmptyMessage("Ingrese un valor")
                                    .Value(Model.DetalleMedicion.CANTIDAD_NO_FACTURADA)
                                )
                            </div>
                            <br />
                            <button type="submit" class="nice radius thin green button">Agregar a detalle</button>
                        }
                    }
                    else
                    {
                        <table border="1" cellpadding="1" cellspacing="0" width="100%">
                            <tr>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.ID_MEDICION)</td>
                                <td style="width: 30%"></td>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.FECHA_MEDICION)</td>
                                <td style="width: 30%"></td>
                            </tr>

                            <tr>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.CANTIDAD_FACTURADA)</td> 
                                <td style="width: 30%"></td>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.CONTADOR_ANTERIOR)</td>
                                <td style="width: 30%"></td>
                            </tr>

                            <tr>
                                    
                                <td>@Html.LabelFor(m => m.DetalleMedicion.CANTIDAD_NO_FACTURADA)</td>
                                <td style="width: 30%"></td>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.DIFERENCIA)</td>
                                <td style="width: 30%"></td>
                            </tr>

                            <tr>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.PRECIO_POR_HOJA)</td>
                                <td style="width: 30%"></td>
                                <td>@Html.LabelFor(m => m.DetalleMedicion.MINIMO_GARANTIZADO)</td>
                                <td style="width: 30%"></td>
                            </tr>
                        </table>
                    }
                </div>
            </fieldset>
        </div>
    </fieldset>

    <fieldset>
        <legend>Agregar un cargo fijo al detalle</legend>
        <br />
        @using (Html.BeginForm(MVC.FacturaConvenio.AgregarCargoFijoDetalleFactura()))
        {
            @Html.HiddenFor(m => m.NUMERO_FACTURA);
            @Html.HiddenFor(m => m.RAZON_SOCIAL);
            @(Html.Telerik().Grid(Model.EquiposCargosFijos)
                .Name("CargosFijos")
                .Columns(columns =>
                {
                    columns.Template(t => t.MONTO_CARGO_FIJO.HasValue
                            ? Html.RadioButton("Equipo_En_Convenio", t.ID_EQUIPO_EN_CONVENIO)
                            : Html.RadioButton("Equipo_En_Convenio", t.ID_EQUIPO_EN_CONVENIO, new { disabled = "true" }))
                        .Width(20);
                    
                    columns.Template(
                        @<text>
                        <table class="data-row" cellspacing="0">
                            <tr>
                                <td>@Html.ActionLink(item.ID_EQUIPO_EN_CONVENIO.ToString(), MVC.Convenio.DetailsEquipoEnConvenio(Model.NUMERO_CONVENIO, item.ID_EQUIPO_EN_CONVENIO))</td>
                                <td>@item.CONSIGNACION</td>
                                <td>@item.TIPO_EQUIPO</td>
                                <td>@item.MODELO_EQUIPO</td>
                                <td>@item.MARCA_EQUIPO</td>
                            </tr>
                        </table>
                        </text>)
                        .HeaderTemplate(
                            @<text>
                            <table class="data-header" cellspacing="0">
                                <tr>
                                    <td colspan="5"><strong>Datos del equipo</strong></td>
                                </tr>
                                <tr>
                                    <td>Número equipo en convenio</td>
                                    <td>Código de consignación</td>
                                    <td>Tipo</td>
                                    <td>Modelo</td>
                                    <td>Marca</td>
                                </tr>
                            </table>
                            </text>);

                    columns.Bound(e => e.MONTO_CARGO_FIJO);
                })
                .Pageable(pager => pager.PageSize(5))
            )
            <br />
            <input type="submit" name="submitAgregarCargoFijo" value="Agregar a detalle"  class="nice radius thin green button" style="float: right;" />
        }
    </fieldset>

    <hr />
    <br />
    <p>
        @Html.ActionLink("Volver a la factura", MVC.FacturaConvenio.Details(Model.NUMERO_FACTURA, Model.RAZON_SOCIAL), new { @class = "nice radius small blue button" })
    </p>
</fieldset>